iT邦幫忙

2023 iThome 鐵人賽

DAY 12
1

首先我們先複習一下,當一個訓練階段完成時,會有哪些東西:當我們有了一個已經訓練好的模型,我們需要把他包裝成可以輸出的模型,除了常見的將 Model Dump 成一個 pickle, onnx 檔案外,我們還需要哪些元素,這裡我先用 AWS Sagemaker 服務來說明常用的三個元素:Artifacts, Config 和 Registry

Artifacts

Artifacts 是模型訓練過程中生成的各種數據和文件,通常包含

  • 模型的權重, inference 程式與設定檔案,也就是常提到的 picke, onnx 檔案
  • 特徵工程程式與設定檔案
  • 測試度數據集

通常整個檔案在每一次訓練完成後會 tar.gz 包起來放在 S3 BUcket 中,以供後續的模型評估、調優或部署

補充一點,通常模型 Inference 或 Training 的環境都會包含一個標準的介面,只需要 Artifacts 的程式碼滿足這些介面的需求即可,但有一些特殊的模型環境介面無法滿足,就會需要設置 Dockerfile 來配置需要的環境

Config

Config 是模型訓練和部署過程中的設定參數,例如學習率、批次大小、硬體選擇等,如果是 XGBoost 模型像是樹的深度, Learning Rate 等等都會被記錄,一般來說整個紀錄會記錄成一個文件檔案,而這個配置可以被重用跟版本化。通過這些設定,SageMaker 能夠明確地知道如何訓練模型以及如何進行推理。

Model Registry

Model Registry 是一個中心化的存儲空間,用於管理多個模型版本。用於版本控制、審核和模型生命周期管理。您可以從註冊庫中直接部署模型到生產環境。

整個研究與訓練的過程,最終的目的就是產生以下三個檔案,以確保整個機器學習模型可以被開發, 管理和部署:

  • Artifacts 是具體的模型和數據文件。
  • Config 是用於訓練和部署模型的設定。
  • Model Registry 是用於管理模型版本和生命周期的中央存儲庫。

雖然這三個元素我是先用 AWS Sagemaker 的元件來解釋,但其實在大多的 MLOps Framework 如 MLFlow 也都有引入類似的概念,他們都有共通的目的,就是將這些文件有一套標準的管理方式,並讓模型可以快速地被部署整個模型以及相對應的 pipline,達到自動化的監控與維護

然後有另一個挑戰是模型治理 (Model Governance),換句話說模型本生的 Operation 面都沒有問題,但是還是會有法律也就是合規上的挑戰,像是歐盟個人資料保護的GDPR,忽略這個問題很可能在模型上現實遇到很大的挑戰,因此我認為 Model Governance 與 MLOps 是非常密不可分的,在研究階段就應該同步思考這個可能不是那麼技術,但非常重要的合規性與法律問題

舉 2021 年提出將在 2024 年實施的 AI法規草案 為例,該草案將模型部署的應用系統分成不同的風險類別

  1. 不可接受的風險(Unacceptable Risk): 如社交評分系統,這些 AI 軟件被禁止。
  2. 高風險(High Risk): 包括嚴格的要求,例如強度、安全性、精確性,以及風險評估和緩解等。
  3. 有限的風險(Limited Risk): 這些 AI 軟件須符合透明度的要求。例如,聊天機器人的用戶必須被告知他們正在與 AI 軟件互動。
  4. 最小風險(Minimal Risk): 這一類別的 AI 軟件沒有受到任何法規的限制,例如垃圾郵件過濾器。

可以看出除了個人資料的用途會有法規限制外,也會根據應用場景有不同的限制,不同的應用場景可能會有不同嚴格程度的法規,然而有這些法規是否就不能做任何應用?並不是的,而是會需要針對合規有個多的需求,舉兩個金融商品中的案例

  • VISA 合作廠商 (店家如果要跟 VISA 合作),若合作廠商的欺詐率超過 0.5 %,也就是每一千人有五個確認被盜刷或是刷卡異常造成 Chargeback,就需要賠償 VISA 高額罰金並終止合作
  • 每個銀行都需要滿足反洗錢防制條款,所以每筆外匯款項從海外會入台灣銀行時都必須申報金錢來源,甚至提供金流,但這些金流並不會直接與政府稅務系統整合,而是存擋在銀行端

這兩個例子想要表達的是,模型治理不是說不能做,而是需要由法務弄清楚法規,並在模型時作時也引入以下的系統,來幫助合規可以更智能且自動化的執行,包括了:

  • 可重現性和驗證:建立可重現性,並應對模型進行驗證。
  • 觀察,安全性,控制:當有問題發生時,如何定位到問題
  • 監控和警報:在被外部回報問題時,可否在企業內部先主動發掘問題
  • 模型服務目錄:知道每個模型被應用在哪些地方
  • 安全性管理:讓 Inference Endpoint 或是相關 Pipeline 程式碼安全審核

在實驗的最後階段我們引入模型的文件不只是要更好的鑑識 MLOps 系統,更是方便我們不會再遇到管理與合規性挑戰時,需要做很多 Adhoc 程式碼從而累積許多的技術債


上一篇
Day 11 Model Comparison
下一篇
Day 13 Bias, Label and AutoML, Experiment Summarize
系列文
踏上 MLOps 之路:從 Applied Data Scientist 到 MLOps 的轉變與建構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言